package com.meij;

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;

import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.BitmapAjaxCallback;
import com.google.gson.Gson;
import com.meij.bean.UserInfo;
import com.meij.util.Info;
import com.util.DebugLog;

public class MJApplaction extends Application {
	public static UserInfo userInfo = null;
	public static MJApplaction applaction;
	public static boolean isAppOnForeground = true;

	@Override
	public void onCreate() {
		super.onCreate();
		applaction = this;
		initAQuery();
		initUserInfo();
	}

	@Override
	public void onTerminate() {
		Info.saveUserInfo(this);
		super.onTerminate();
	}

	// 初始化AQuery
	private void initAQuery() {
		// 是否开启Debug模式
		// AQUtility.setDebug(DebugLog.ENABLE);
		// 连接超时时间,默认为30000
		AjaxCallback.setTimeout(10000);
		// 最大网络请求数，默认为4
		AjaxCallback.setNetworkLimit(20);
		// 缓存的最大小图标数量 (宽度 <= 50)，默认为20
		BitmapAjaxCallback.setIconCacheLimit(40);
		// 缓存的最大大图标数量 (宽度 > 50)，默认为20
		BitmapAjaxCallback.setCacheLimit(80);
		// 缓存的图片最大尺寸，默认为1600（400*400）个像素点
		BitmapAjaxCallback.setPixelLimit(800 * 800);
		// 缓存的图片总大小，默认为1M的像素点(4MB)
		BitmapAjaxCallback.setMaxPixelLimit(1 * 1024 * 1024);
		// 延时写入SD卡,保证请求正确无误
		BitmapAjaxCallback.setDelayWrite(true);
	}

	// 初始化用户信息
	private void initUserInfo() {
		SharedPreferences preferences = getSharedPreferences("user", Context.MODE_PRIVATE);
		String userinfo = preferences.getString("userinfo", "");
		Gson gson = new Gson();
		if (TextUtils.isEmpty(userinfo)) {
			userInfo = new UserInfo();
		} else {
			userInfo = gson.fromJson(userinfo, UserInfo.class);
			DebugLog.i("USERINFO", userinfo);
		}
	}

	@Override
	public void onLowMemory() {
		// 当系统内存过低时，清除掉所有缓存
		BitmapAjaxCallback.clearCache();
	}

}
